gtkwindow: Correct device check
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 24 Apr 2020 21:04:27 +0000 (23:04 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 24 Apr 2020 21:04:27 +0000 (23:04 +0200)
This function to revoke implicit grabs may be called with a NULL
device, which means all devices should be revoked. Fix the check
so this actually happens.

Fixes implicit grabs (maybe) being unset in result to a GTK grab.

gtk/gtkwindow.c

index 6347ed6b642fc1147696be1a2080d909ad26c19b..49726ea322d94821750b35ee962ff30f6ce6dc8c 100644 (file)
@@ -7989,7 +7989,7 @@ gtk_window_maybe_revoke_implicit_grab (GtkWindow *window,
       if (focus->toplevel != window)
         continue;
 
-      if (device && focus->device == device &&
+      if ((!device || focus->device == device) &&
           focus->target != grab_widget &&
           !gtk_widget_is_ancestor (focus->target, grab_widget))
         gtk_window_set_pointer_focus_grab (window,